{
 "cells": [
  {
   "cell_type": "code",
   "id": "initial_id",
   "metadata": {
    "collapsed": true,
    "ExecuteTime": {
     "end_time": "2024-07-27T13:03:34.957842Z",
     "start_time": "2024-07-27T13:03:31.829516Z"
    }
   },
   "source": [
    "# 使用pandas读取训练和测试数据\n",
    "import pandas as pd\n",
    "import os\n",
    "\n",
    "data_folder=r\"G:\\PAPER3\\train_data\"\n",
    "\n",
    "train_data = pd.read_csv(os.path.join(data_folder, 'train_data.csv'))\n",
    "test_data = pd.read_csv(os.path.join(data_folder, 'test_data.csv'))\n",
    "\n",
    "print(train_data.head())\n",
    "print(test_data.head())"
   ],
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "   GOSIF  dem      aspect        EVI  LAI  LST_Day     LST_Night      NDVI  \\\n",
      "0    -86  876   79.193680   9.499997  738     1.25  13676.750000  13291.00   \n",
      "1    -81  371  201.005096   1.817600  254     1.00  13648.000000  13290.00   \n",
      "2    -42  448  354.173645   5.276418  750     2.00  13655.666667  13267.75   \n",
      "3    -46  259   85.383644   3.466256  565     0.75  13683.666667  13354.00   \n",
      "4   -104  748  157.193512  10.861674  762     1.25  13767.750000  13314.75   \n",
      "\n",
      "    Nir      Red    slope  \n",
      "0  1729  1406.25  1065.75  \n",
      "1   290  2842.00  2479.50  \n",
      "2  1323  1778.00  1645.50  \n",
      "3  1138  3040.50  2762.25  \n",
      "4  1654  1879.75  1451.25  \n",
      "   GOSIF  dem      aspect        EVI  LAI  LST_Day  LST_Night      NDVI   Nir  \\\n",
      "0   -103  876   79.193680   9.499997  963     1.50   13707.00  13378.00  2540   \n",
      "1   -100  371  201.005096   1.817600  894     1.00   13926.25  13289.00  1675   \n",
      "2   -117  448  354.173645   5.276418  370     2.25   13854.75  13354.00  2049   \n",
      "3   -106  259   85.383644   3.466256  795     1.25   13883.00  13389.00  2097   \n",
      "4   -103  748  157.193512  10.861674  987     2.00   13863.00  13375.75  2331   \n",
      "\n",
      "       Red    slope  \n",
      "0  1124.25   663.25  \n",
      "1  1522.50  1047.50  \n",
      "2   595.00   402.00  \n",
      "3  1233.00   736.00  \n",
      "4  1121.50   669.75  \n"
     ]
    }
   ],
   "execution_count": 1
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-07-27T13:03:36.027882Z",
     "start_time": "2024-07-27T13:03:35.975696Z"
    }
   },
   "cell_type": "code",
   "source": [
    "# 将表格第一列作为训练的label，其余作为训练数据\n",
    "train_label = train_data.iloc[:, 0]\n",
    "train_data = train_data.iloc[:, 1:]\n",
    "test_label = test_data.iloc[:, 0]\n",
    "test_data = test_data.iloc[:, 1:]\n",
    "print(train_label.head())\n",
    "print(train_data.head())"
   ],
   "id": "1c10ce08bf8cc3aa",
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "0    -86\n",
      "1    -81\n",
      "2    -42\n",
      "3    -46\n",
      "4   -104\n",
      "Name: GOSIF, dtype: int64\n",
      "   dem      aspect        EVI  LAI  LST_Day     LST_Night      NDVI   Nir  \\\n",
      "0  876   79.193680   9.499997  738     1.25  13676.750000  13291.00  1729   \n",
      "1  371  201.005096   1.817600  254     1.00  13648.000000  13290.00   290   \n",
      "2  448  354.173645   5.276418  750     2.00  13655.666667  13267.75  1323   \n",
      "3  259   85.383644   3.466256  565     0.75  13683.666667  13354.00  1138   \n",
      "4  748  157.193512  10.861674  762     1.25  13767.750000  13314.75  1654   \n",
      "\n",
      "       Red    slope  \n",
      "0  1406.25  1065.75  \n",
      "1  2842.00  2479.50  \n",
      "2  1778.00  1645.50  \n",
      "3  3040.50  2762.25  \n",
      "4  1879.75  1451.25  \n"
     ]
    }
   ],
   "execution_count": 2
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-07-27T13:54:39.898802Z",
     "start_time": "2024-07-27T13:19:15.451270Z"
    }
   },
   "cell_type": "code",
   "source": [
    "import joblib\n",
    "from sklearn.metrics import mean_squared_error, r2_score\n",
    "from sklearn.ensemble import RandomForestRegressor\n",
    "import matplotlib.pyplot as plt\n",
    "from tqdm import tqdm\n",
    "\n",
    "\n",
    "n_estimators = 100\n",
    "rf_regressor = RandomForestRegressor(n_estimators=1, warm_start=True, random_state=42)\n",
    "\n",
    "mse_list = []\n",
    "r2_list = []\n",
    "\n",
    "# 构建用于回归的随机森林模型，并使用训练数据训练模型\n",
    "\n",
    "for i in tqdm(range(1, n_estimators + 1)):\n",
    "    rf_regressor.n_estimators = i\n",
    "    rf_regressor.fit(train_data, train_label)\n",
    "    \n",
    "    # 在每次迭代后评估模型\n",
    "    y_pred = rf_regressor.predict(test_data)\n",
    "    mse = mean_squared_error(test_label, y_pred)\n",
    "    r2 = r2_score(test_label, y_pred)\n",
    "    \n",
    "    mse_list.append(mse)\n",
    "    r2_list.append(r2)\n",
    "\n",
    "    # 打印每次迭代的评估结果\n",
    "    print(f\"Number of Trees: {i}, Mean Squared Error: {mse}, R^2 Score: {r2}\")\n",
    "\n",
    "# 评估模型（最终评估）\n",
    "final_y_pred = rf_regressor.predict(test_data)\n",
    "final_mse = mean_squared_error(test_label, final_y_pred)\n",
    "final_r2 = r2_score(test_label, final_y_pred)\n",
    "\n",
    "print(f\"Final Mean Squared Error: {final_mse}\")\n",
    "print(f\"Final R^2 Score: {final_r2}\")\n",
    "\n",
    "model_filename = 'random_forest_regressor.pkl'\n",
    "joblib.dump(rf_regressor, os.path.join(data_folder, model_filename))\n",
    "\n",
    "print(f\"模型已保存为 {model_filename}\")\n",
    "\n",
    "\n",
    "# 保存训练过程中的误差\n",
    "joblib.dump(mse_list, os.path.join(data_folder, 'mse_list.pkl'))\n",
    "joblib.dump(r2_list, os.path.join(data_folder, 'r2_list.pkl'))\n",
    "\n",
    "# 可视化训练过程中的评估指标\n",
    "plt.figure(figsize=(12, 6))\n",
    "\n",
    "# 绘制均方误差曲线\n",
    "plt.subplot(1, 2, 1)\n",
    "plt.plot(range(1, n_estimators + 1), mse_list, marker='o')\n",
    "plt.title('Mean Squared Error over Training Iterations')\n",
    "plt.xlabel('Number of Trees')\n",
    "plt.ylabel('Mean Squared Error')\n",
    "\n",
    "# 绘制R²分数曲线\n",
    "plt.subplot(1, 2, 2)\n",
    "plt.plot(range(1, n_estimators + 1), r2_list, marker='o')\n",
    "plt.title('R² Score over Training Iterations')\n",
    "plt.xlabel('Number of Trees')\n",
    "plt.ylabel('R² Score')\n",
    "\n",
    "plt.tight_layout()\n",
    "plt.show()"
   ],
   "id": "d1e438307a995a16",
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "  1%|          | 1/100 [00:11<19:15, 11.67s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Number of Trees: 1, Mean Squared Error: 20359044.5389635, R^2 Score: -0.17173383654441388\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "  2%|▏         | 2/100 [00:23<19:02, 11.66s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Number of Trees: 2, Mean Squared Error: 12057242.359956505, R^2 Score: 0.30606375846668665\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "  3%|▎         | 3/100 [00:34<18:47, 11.62s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Number of Trees: 3, Mean Squared Error: 10073041.004136903, R^2 Score: 0.42026144896643425\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "  4%|▍         | 4/100 [00:46<18:33, 11.60s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Number of Trees: 4, Mean Squared Error: 8701433.273543902, R^2 Score: 0.4992022452953535\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "  5%|▌         | 5/100 [00:58<18:24, 11.62s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Number of Trees: 5, Mean Squared Error: 8290590.027754814, R^2 Score: 0.5228477032973485\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "  6%|▌         | 6/100 [01:10<18:21, 11.72s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Number of Trees: 6, Mean Squared Error: 7878817.830134248, R^2 Score: 0.5465466257088044\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "  7%|▋         | 7/100 [01:22<18:27, 11.90s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Number of Trees: 7, Mean Squared Error: 7545229.814243175, R^2 Score: 0.5657457764811906\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "  8%|▊         | 8/100 [01:34<18:26, 12.02s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Number of Trees: 8, Mean Squared Error: 7273255.786582303, R^2 Score: 0.5813988278933829\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "  9%|▉         | 9/100 [01:46<18:16, 12.05s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Number of Trees: 9, Mean Squared Error: 7050920.972560483, R^2 Score: 0.594194969879938\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 10%|█         | 10/100 [01:59<18:25, 12.29s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Number of Trees: 10, Mean Squared Error: 6943751.469342663, R^2 Score: 0.6003629476023528\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 11%|█         | 11/100 [02:12<18:28, 12.45s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Number of Trees: 11, Mean Squared Error: 6736311.218514503, R^2 Score: 0.6123018556631624\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 12%|█▏        | 12/100 [02:26<18:48, 12.83s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Number of Trees: 12, Mean Squared Error: 6561979.872704896, R^2 Score: 0.622335231063688\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 13%|█▎        | 13/100 [02:39<18:48, 12.98s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Number of Trees: 13, Mean Squared Error: 6492143.788836857, R^2 Score: 0.6263545406301723\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 14%|█▍        | 14/100 [02:52<18:45, 13.08s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Number of Trees: 14, Mean Squared Error: 6423091.466573018, R^2 Score: 0.6303287419898511\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 15%|█▌        | 15/100 [03:06<18:39, 13.17s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Number of Trees: 15, Mean Squared Error: 6304494.4420180265, R^2 Score: 0.6371544133183175\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 16%|█▌        | 16/100 [03:19<18:29, 13.20s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Number of Trees: 16, Mean Squared Error: 6246003.859363221, R^2 Score: 0.6405207498222074\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 17%|█▋        | 17/100 [03:32<18:23, 13.30s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Number of Trees: 17, Mean Squared Error: 6183253.055529698, R^2 Score: 0.6441322768750306\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 18%|█▊        | 18/100 [03:46<18:09, 13.29s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Number of Trees: 18, Mean Squared Error: 6126662.924516863, R^2 Score: 0.6473892357757942\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 19%|█▉        | 19/100 [03:59<18:09, 13.45s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Number of Trees: 19, Mean Squared Error: 6104248.948576993, R^2 Score: 0.6486792380629829\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 20%|██        | 20/100 [04:13<18:05, 13.57s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Number of Trees: 20, Mean Squared Error: 6072743.552954599, R^2 Score: 0.6504924831793647\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 21%|██        | 21/100 [04:28<18:11, 13.81s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Number of Trees: 21, Mean Squared Error: 6023747.399251049, R^2 Score: 0.6533123822686911\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 22%|██▏       | 22/100 [04:42<18:04, 13.90s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Number of Trees: 22, Mean Squared Error: 6009372.523728714, R^2 Score: 0.6541397063611062\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 23%|██▎       | 23/100 [04:56<17:59, 14.02s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Number of Trees: 23, Mean Squared Error: 6009446.821732871, R^2 Score: 0.6541354302525053\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 24%|██▍       | 24/100 [05:10<17:46, 14.04s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Number of Trees: 24, Mean Squared Error: 5967243.622019114, R^2 Score: 0.6565643712089638\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 25%|██▌       | 25/100 [05:24<17:37, 14.10s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Number of Trees: 25, Mean Squared Error: 5921685.997651088, R^2 Score: 0.659186370973365\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 26%|██▌       | 26/100 [05:39<17:32, 14.22s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Number of Trees: 26, Mean Squared Error: 5911432.233596828, R^2 Score: 0.6597765107646172\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 27%|██▋       | 27/100 [05:53<17:23, 14.29s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Number of Trees: 27, Mean Squared Error: 5910443.118379211, R^2 Score: 0.6598334377862418\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 28%|██▊       | 28/100 [06:08<17:21, 14.47s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Number of Trees: 28, Mean Squared Error: 5888019.321495273, R^2 Score: 0.6611240053029257\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 29%|██▉       | 29/100 [06:23<17:18, 14.63s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Number of Trees: 29, Mean Squared Error: 5888873.065832596, R^2 Score: 0.661074869346379\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 30%|███       | 30/100 [06:39<17:17, 14.82s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Number of Trees: 30, Mean Squared Error: 5857140.330247472, R^2 Score: 0.6629011986684672\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 31%|███       | 31/100 [06:54<17:11, 14.96s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Number of Trees: 31, Mean Squared Error: 5832386.14671123, R^2 Score: 0.6643258880437437\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 32%|███▏      | 32/100 [07:09<17:02, 15.03s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Number of Trees: 32, Mean Squared Error: 5822388.80486402, R^2 Score: 0.6649012698449603\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 33%|███▎      | 33/100 [07:24<16:52, 15.12s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Number of Trees: 33, Mean Squared Error: 5809688.322559463, R^2 Score: 0.6656322267829543\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 34%|███▍      | 34/100 [07:40<16:50, 15.31s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Number of Trees: 34, Mean Squared Error: 5768635.843707178, R^2 Score: 0.6679949397508044\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 35%|███▌      | 35/100 [07:56<16:43, 15.44s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Number of Trees: 35, Mean Squared Error: 5760628.73391342, R^2 Score: 0.6684557767738935\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 36%|███▌      | 36/100 [08:12<16:37, 15.59s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Number of Trees: 36, Mean Squared Error: 5749055.500736248, R^2 Score: 0.6691218566032271\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 37%|███▋      | 37/100 [08:28<16:35, 15.80s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Number of Trees: 37, Mean Squared Error: 5750700.262560085, R^2 Score: 0.6690271948386066\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 38%|███▊      | 38/100 [08:45<16:42, 16.16s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Number of Trees: 38, Mean Squared Error: 5743569.270160077, R^2 Score: 0.669437608257922\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 39%|███▉      | 39/100 [09:02<16:31, 16.26s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Number of Trees: 39, Mean Squared Error: 5748853.000560123, R^2 Score: 0.6691335111928036\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 40%|████      | 40/100 [09:17<16:07, 16.13s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Number of Trees: 40, Mean Squared Error: 5731098.012594776, R^2 Score: 0.670155372514764\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 41%|████      | 41/100 [09:34<15:53, 16.17s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Number of Trees: 41, Mean Squared Error: 5723655.281022143, R^2 Score: 0.670583727607916\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 42%|████▏     | 42/100 [09:50<15:37, 16.16s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Number of Trees: 42, Mean Squared Error: 5713655.377587822, R^2 Score: 0.6711592568373818\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 43%|████▎     | 43/100 [10:06<15:30, 16.32s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Number of Trees: 43, Mean Squared Error: 5722028.420915611, R^2 Score: 0.6706773590664306\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 44%|████▍     | 44/100 [10:23<15:19, 16.42s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Number of Trees: 44, Mean Squared Error: 5725127.203751982, R^2 Score: 0.6704990133344131\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 45%|████▌     | 45/100 [10:40<15:09, 16.53s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Number of Trees: 45, Mean Squared Error: 5729049.189881742, R^2 Score: 0.6702732893891707\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 46%|████▌     | 46/100 [10:57<15:03, 16.73s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Number of Trees: 46, Mean Squared Error: 5716291.888588656, R^2 Score: 0.6710075164576117\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 47%|████▋     | 47/100 [11:14<14:52, 16.84s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Number of Trees: 47, Mean Squared Error: 5701483.253810527, R^2 Score: 0.6718598049041227\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 48%|████▊     | 48/100 [11:31<14:39, 16.91s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Number of Trees: 48, Mean Squared Error: 5689335.448568327, R^2 Score: 0.6725589533545717\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 49%|████▉     | 49/100 [11:49<14:33, 17.12s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Number of Trees: 49, Mean Squared Error: 5679676.972088839, R^2 Score: 0.6731148322750595\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 50%|█████     | 50/100 [12:08<14:39, 17.59s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Number of Trees: 50, Mean Squared Error: 5675325.234925451, R^2 Score: 0.6733652898872688\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 51%|█████     | 51/100 [12:25<14:24, 17.65s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Number of Trees: 51, Mean Squared Error: 5676226.845206202, R^2 Score: 0.6733133990791658\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 52%|█████▏    | 52/100 [12:43<14:11, 17.74s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Number of Trees: 52, Mean Squared Error: 5676760.391499653, R^2 Score: 0.6732826916339218\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 53%|█████▎    | 53/100 [13:03<14:22, 18.34s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Number of Trees: 53, Mean Squared Error: 5672236.7602029005, R^2 Score: 0.673543042351477\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 54%|█████▍    | 54/100 [13:40<18:19, 23.90s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Number of Trees: 54, Mean Squared Error: 5679313.98699891, R^2 Score: 0.673135723329707\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 55%|█████▌    | 55/100 [14:06<18:27, 24.61s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Number of Trees: 55, Mean Squared Error: 5684066.1899991445, R^2 Score: 0.6728622175154804\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 56%|█████▌    | 56/100 [14:32<18:16, 24.93s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Number of Trees: 56, Mean Squared Error: 5682810.550492444, R^2 Score: 0.6729344839371039\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 57%|█████▋    | 57/100 [14:54<17:21, 24.22s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Number of Trees: 57, Mean Squared Error: 5682649.8533124, R^2 Score: 0.6729437326188352\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 58%|█████▊    | 58/100 [15:18<16:45, 23.94s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Number of Trees: 58, Mean Squared Error: 5682818.405981333, R^2 Score: 0.6729340318263912\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 59%|█████▉    | 59/100 [15:38<15:37, 22.87s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Number of Trees: 59, Mean Squared Error: 5659937.444172875, R^2 Score: 0.6742509107748282\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 60%|██████    | 60/100 [15:57<14:28, 21.71s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Number of Trees: 60, Mean Squared Error: 5662725.39231764, R^2 Score: 0.6740904546606181\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 61%|██████    | 61/100 [16:16<13:38, 20.98s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Number of Trees: 61, Mean Squared Error: 5652959.009482488, R^2 Score: 0.6746525439672499\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 62%|██████▏   | 62/100 [16:37<13:07, 20.73s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Number of Trees: 62, Mean Squared Error: 5658584.613159213, R^2 Score: 0.6743287709057788\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 63%|██████▎   | 63/100 [17:00<13:19, 21.62s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Number of Trees: 63, Mean Squared Error: 5656204.109572509, R^2 Score: 0.6744657771682887\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 64%|██████▍   | 64/100 [17:20<12:42, 21.19s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Number of Trees: 64, Mean Squared Error: 5650263.017846543, R^2 Score: 0.6748077076644869\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 65%|██████▌   | 65/100 [17:40<12:09, 20.84s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Number of Trees: 65, Mean Squared Error: 5643034.715794315, R^2 Score: 0.6752237215928003\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 66%|██████▌   | 66/100 [18:00<11:33, 20.41s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Number of Trees: 66, Mean Squared Error: 5648212.294492243, R^2 Score: 0.6749257339274104\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 67%|██████▋   | 67/100 [18:19<11:05, 20.16s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Number of Trees: 67, Mean Squared Error: 5643305.17822993, R^2 Score: 0.6752081555387688\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 68%|██████▊   | 68/100 [18:39<10:40, 20.00s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Number of Trees: 68, Mean Squared Error: 5643448.63391144, R^2 Score: 0.6751998991652562\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 69%|██████▉   | 69/100 [18:59<10:18, 19.94s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Number of Trees: 69, Mean Squared Error: 5637977.554259077, R^2 Score: 0.6755147788315803\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 70%|███████   | 70/100 [19:19<09:57, 19.92s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Number of Trees: 70, Mean Squared Error: 5641024.060277326, R^2 Score: 0.6753394418123018\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 71%|███████   | 71/100 [19:39<09:39, 19.99s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Number of Trees: 71, Mean Squared Error: 5631315.788656012, R^2 Score: 0.6758981866164249\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 72%|███████▏  | 72/100 [20:00<09:31, 20.41s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Number of Trees: 72, Mean Squared Error: 5636802.041764574, R^2 Score: 0.6755824336649126\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 73%|███████▎  | 73/100 [20:22<09:19, 20.73s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Number of Trees: 73, Mean Squared Error: 5639973.82661723, R^2 Score: 0.6753998864129046\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 74%|███████▍  | 74/100 [20:51<10:08, 23.41s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Number of Trees: 74, Mean Squared Error: 5633198.900116469, R^2 Score: 0.6757898070010663\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 75%|███████▌  | 75/100 [21:22<10:38, 25.53s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Number of Trees: 75, Mean Squared Error: 5632232.5787049625, R^2 Score: 0.675845422159856\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 76%|███████▌  | 76/100 [21:52<10:47, 26.97s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Number of Trees: 76, Mean Squared Error: 5628462.450678211, R^2 Score: 0.676062406142999\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 77%|███████▋  | 77/100 [22:17<10:03, 26.24s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Number of Trees: 77, Mean Squared Error: 5625073.348644911, R^2 Score: 0.6762574607547376\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 78%|███████▊  | 78/100 [22:45<09:50, 26.83s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Number of Trees: 78, Mean Squared Error: 5624203.043837213, R^2 Score: 0.6763075498239637\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 79%|███████▉  | 79/100 [23:07<08:50, 25.28s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Number of Trees: 79, Mean Squared Error: 5618363.190317138, R^2 Score: 0.6766436537092337\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 80%|████████  | 80/100 [23:28<08:04, 24.25s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Number of Trees: 80, Mean Squared Error: 5616768.373280862, R^2 Score: 0.6767354409775865\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 81%|████████  | 81/100 [23:51<07:29, 23.64s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Number of Trees: 81, Mean Squared Error: 5615230.658520817, R^2 Score: 0.6768239418112996\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 82%|████████▏ | 82/100 [24:13<06:56, 23.16s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Number of Trees: 82, Mean Squared Error: 5607064.393741637, R^2 Score: 0.6772939387574546\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 83%|████████▎ | 83/100 [24:35<06:27, 22.79s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Number of Trees: 83, Mean Squared Error: 5597593.130276675, R^2 Score: 0.6778390429176956\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 84%|████████▍ | 84/100 [24:57<06:00, 22.56s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Number of Trees: 84, Mean Squared Error: 5594219.501260319, R^2 Score: 0.6780332070034829\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 85%|████████▌ | 85/100 [25:19<05:37, 22.47s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Number of Trees: 85, Mean Squared Error: 5584646.490402843, R^2 Score: 0.6785841670801135\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 86%|████████▌ | 86/100 [25:41<05:14, 22.47s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Number of Trees: 86, Mean Squared Error: 5574767.471370381, R^2 Score: 0.6791527389917299\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 87%|████████▋ | 87/100 [26:04<04:52, 22.51s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Number of Trees: 87, Mean Squared Error: 5567705.337461179, R^2 Score: 0.6795591893653603\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 88%|████████▊ | 88/100 [26:28<04:36, 23.01s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Number of Trees: 88, Mean Squared Error: 5565912.954594883, R^2 Score: 0.679662347234506\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 89%|████████▉ | 89/100 [26:53<04:18, 23.53s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Number of Trees: 89, Mean Squared Error: 5558672.284237174, R^2 Score: 0.6800790730018255\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 90%|█████████ | 90/100 [27:16<03:54, 23.47s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Number of Trees: 90, Mean Squared Error: 5563851.562671273, R^2 Score: 0.6797809875107061\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 91%|█████████ | 91/100 [27:40<03:32, 23.61s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Number of Trees: 91, Mean Squared Error: 5563131.73063965, R^2 Score: 0.6798224163482169\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 92%|█████████▏| 92/100 [28:04<03:09, 23.69s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Number of Trees: 92, Mean Squared Error: 5559331.343361226, R^2 Score: 0.6800411418565571\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 93%|█████████▎| 93/100 [28:27<02:45, 23.60s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Number of Trees: 93, Mean Squared Error: 5559640.235792467, R^2 Score: 0.6800233640225901\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 94%|█████████▍| 94/100 [28:51<02:21, 23.64s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Number of Trees: 94, Mean Squared Error: 5562234.145569994, R^2 Score: 0.6798740754914189\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 95%|█████████▌| 95/100 [29:15<01:58, 23.68s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Number of Trees: 95, Mean Squared Error: 5559023.211280454, R^2 Score: 0.6800588759297094\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 96%|█████████▌| 96/100 [29:41<01:37, 24.25s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Number of Trees: 96, Mean Squared Error: 5556891.6750675775, R^2 Score: 0.6801815532537687\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 97%|█████████▋| 97/100 [30:05<01:12, 24.22s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Number of Trees: 97, Mean Squared Error: 5555138.049971492, R^2 Score: 0.6802824804784116\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 98%|█████████▊| 98/100 [30:29<00:48, 24.22s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Number of Trees: 98, Mean Squared Error: 5558775.499935024, R^2 Score: 0.6800731325793561\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 99%|█████████▉| 99/100 [30:54<00:24, 24.59s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Number of Trees: 99, Mean Squared Error: 5551699.937356582, R^2 Score: 0.6804803558196157\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████| 100/100 [31:19<00:00, 18.80s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Number of Trees: 100, Mean Squared Error: 5551297.069404204, R^2 Score: 0.6805035422717383\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Final Mean Squared Error: 5551297.069404204\n",
      "Final R^2 Score: 0.6805035422717383\n",
      "模型已保存为 random_forest_regressor.pkl\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<Figure size 1200x600 with 2 Axes>"
      ],
      "image/png": "iVBORw0KGgoAAAANSUhEUgAABKUAAAJOCAYAAABm7rQwAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/MnkTPAAAACXBIWXMAAA9hAAAPYQGoP6dpAACczUlEQVR4nOzdeVxU9f7H8fcwg6AoKG6AKaJtEpVblku5VG6F1a1raWZu96ZWVmaLt26GLZaVt7qltrhcr2Z2y7p561r+MrfS1NS6RqtSmA6aoriCzHB+f8BMjgw6A7Mwh9fz8eBRnDln+DCg5+tnPp/P12IYhiEAAAAAAAAghKLCHQAAAAAAAABqHpJSAAAAAAAACDmSUgAAAAAAAAg5klIAAAAAAAAIOZJSAAAAAAAACDmSUgAAAAAAAAg5klIAAAAAAAAIOZJSAAAAAAAACDmSUgAAAAAAAAg5klIAAAAAgu7NN99Uly5d1L17d5133nl6/fXXwx0SACDMSErBb3PnzpXFYpHFYtGKFSvKPW4Yhs4880xZLBb16NEj5PH5o7i4WK+88oouuugiJSYmqk6dOkpNTdU111yjd999N9zhBd2KFSsq/Dme6MSfubeP012PivXo0eOUr63r49FHH63S1/H1Z12RQMRQWRaLRXfccYf78127dunRRx/Vli1bwhKPL3E8+uijslgsoQ8KAELs5DWCzWZTcnKybrrpJv34448e51588cVauXKlVq5cqfnz5+vPf/6zfv7551M+f01fq4Xazz//7NO6xGKxnPZndzrDhg1Ty5YtK3Wt6/euqjFU5Wtv3LjRfezDDz8M2zrpRKeKo2XLlho2bFhI4wF8YQt3AIhc9erV06xZs8olnlauXKlt27apXr164QnMD7fccosWL16su+++W1lZWYqJidH27du1dOlSffTRR7ruuuvCHWK1MmfOHJ177rnljqenp4chGnOYPn26Dh486P78gw8+0OOPP17utT7jjDOq9HXat2+vtWvXVvpntXbt2irHECi7du1SVlaWWrZsqbZt21bLOEaNGqW+ffuGJzAACAPXfauwsFCfffaZnnjiCX366af67rvv1KBBA0lSWlqa+/wTkxunwlottJKTk7V27VqPY2PHjlVBQYEWLFhQ7tyq+Otf/6q77rqrUtdeddVVWrt2bZVjCJQPP/xQL7/8ctgTU6eK491331V8fHzogwJOg6QUKu3GG2/UggUL9PLLL3v8BTdr1ix17tzZ4x/a1VFOTo4WLVqkRx55RFlZWe7jl19+uf70pz+ppKQkjNGdmmEYKiwsVO3atUP6dTMyMtSxY0e/rjlVrMeOHVNsbGyVKkqOHj2qOnXqVPr6UKnoez05SfTdd99JOv1r7e/3HR8fr0suucSPiD1V5dpIEYjfR5czzjij2iTxACAUTrxv9ejRQ06nU5MmTdJ7772n4cOHe5x7+PBh3Xrrrbr77ruVmppa4XNWp7VauNZeweRtLRETE1Punh8fH6/jx4+fdi1w7Ngxv16f1q1b+x7sSRo3bqzGjRtX+vpIEch1brt27QLyPECg0b6HShs0aJAkaeHChe5jBQUFeueddzRixAiv1xw/flyPP/64zj33XMXExKhx48YaPny4fvvtN4/zFi1apN69eys5OVm1a9dWmzZt9OCDD+rIkSMe5w0bNkx169bVTz/9pP79+6tu3bpq3ry57r33XhUVFZ0y/n379kmq+F2eqCjPPx7fffed+vbtqzp16qhRo0YaPXq0lixZUq4lqqLS2B49enhUlRUWFuree+9V27ZtlZCQoMTERHXu3Fn//ve/y13ral+aOXOm2rRpo5iYGP3jH/+QJP34448aPHiwmjRpopiYGLVp00Yvv/xyuefwFv+hQ4dO+RpVRkWxukqdP/74Y40YMUKNGzdWnTp1VFRUpJKSEk2dOtX9e9GkSRMNHTpUv/76q8dz9+jRQxkZGVq1apW6dOmiOnXqVPi75vL++++rc+fOqlOnjurVq6crr7zS4x3A9957TxaLRZ988km5a2fMmCGLxaKvv/7afWzjxo0aMGCAEhMTFRsbq3bt2umtt97yuO5U32tluFrBNm3apBtuuEENGjRwL+Q2btyom266SS1btlTt2rXVsmVLDRo0SL/88ovHc3hr3/Pnz8/J7Xuu7/HTTz/VmDFj1KhRIzVs2FB/+MMftGvXLo9ri4qKdO+99yopKUl16tTRZZddpi+//LJSZeQrVqzQRRddJEkaPny41/bGqv6MfvrpJw0fPlxnnXWW6tSpo2bNmikzM1P/+9//fI7DW/uev7/nGzZs0KWXXqo6deqoVatWeuqppzz+AVZSUqLHH39c55xzjmrXrq369evrggsu0AsvvODXawoAweBKUO3evdvjeGFhoa677jq1bt1aU6dOPeVz+LtWO3DggO699161atXK/fds//793W/4SFJ+fr7Gjh2rZs2aqVatWmrVqpUeeughr/e9qq69vCksLNTEiROVlpamWrVqqVmzZrr99tt14MAB9znXXnutUlNTvSbdLr74YrVv3979uWEYmj59utq2bavatWurQYMGuuGGG7R9+3aP6yqzhjqVli1b6uqrr9bixYvVrl07xcbGuhOHL7/8si677DI1adJEcXFxOv/88zV16lQVFxd7PIe39j3X6/7Pf/5Tbdq0UZ06dXThhRfqP//5j8d53tr3fL1/StI333yj3r17q06dOmrcuLFuv/12ffDBB5UadTBs2DD3z99be2Mgfka+/NvodHF4W3fl5uZqyJAhHr/Lzz33nMfr5WrpfPbZZzVt2jSlpaWpbt266ty5s9atW+fxfNu3b9dNN92klJQUxcTEqGnTprr88svDPnIB1RuVUqi0+Ph43XDDDZo9e7Zuu+02SaUJqqioKN144416/vnnPc4vKSnRNddco9WrV+v+++9Xly5d9Msvv2jSpEnq0aOHNm7c6H535ccff1T//v119913Ky4uTt99952efvpprV+/XsuXL/d43uLiYg0YMEAjR47Uvffeq1WrVumxxx5TQkKCHnnkkQrjb9OmjerXr6+srCxFRUWpd+/eFfa17969W927d1d0dLSmT5+upk2basGCBR5zbvxVVFSk/Px8TZgwQc2aNdPx48f1f//3f/rDH/6gOXPmaOjQoR7nv/fee1q9erUeeeQRJSUlqUmTJsrOzlaXLl3UokULPffcc0pKStJHH32kcePGae/evZo0aVJA43c6nXI4HB7HLBaLrFbraWPdsGGDJGnEiBG66qqr9M9//lNHjhxRdHS0xowZo1dffVV33HGHrr76av3888/661//qhUrVmjTpk1q1KiR+7ntdruGDBmi+++/X08++WS5BemJ3njjDd18883q3bu3Fi5cqKKiIk2dOlU9evTQJ598om7duunqq69WkyZNNGfOHF1++eUe18+dO1ft27fXBRdcIEn69NNP1bdvX1188cWaOXOmEhIS9Oabb+rGG2/U0aNHy93ovX2vVfGHP/xBN910k0aPHu1ehPz8888655xzdNNNNykxMVF2u10zZszQRRddpOzsbI/XzpvK/vlxGTVqlK666iq98cYb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Xr16nTbW77//Xrt27dItt9zi8U5g3bp1df3112vdunU6evSopNJqmWPHjmnRokXu8+bMmaOYmBj3a/TTTz/pu+++08033yxJ5V5vu92u77///pTfa1V5e77Dhw/rgQce0JlnnimbzSabzaa6devqyJEjXn+PTlaVPz+SNGDAgHLXSnJfv3LlSknSwIEDPc674YYbZLMFtlg3UD8jh8OhJ598Uunp6apVq5ZsNptq1aqlH3/80afX1Bt/f8+TkpLUqVMnj2Mn/1w6deqkr776SmPHjtVHH31U7ef4ATC3Sy65RNHR0apXr5769u2rBg0a6N///rfH3/VPPPGEnE6nVq5cqRUrVmjFihXq3LnzKZ/X17Xaf//7X5199tkelUUnW758ueLi4nTDDTd4HHf93Xzy38VVWXtV9PVP/Houf/zjHxUXF+f++jabTUOGDNHixYtVUFAgqbRa/Z///KeuueYaNWzYUFLp2tpisWjIkCEesSQlJenCCy8s14bm6xrKVxdccIFHJZzL5s2bNWDAADVs2NC9jh86dKicTqd++OGH0z5vz549PTZMatq0qZo0aeLT2sSX++fKlSuVkZFRbq6nazRJIAXqZ+TPv418tXz5cqWnp5d7vYYNGybDMMp1p1x11VUe1Y0nr/kSExPVunVrPfPMM5o2bZo2b95crWf0ovqo0UmpI0eO6MILL9RLL71UqesnTJggu93u8ZGenq4//vGPAY60+rJYLBo+fLjmz5+vmTNn6uyzz9all17q9dzdu3frwIEDqlWrlqKjoz0+8vLytHfvXkml/8i+9NJL9cUXX+jxxx/XihUrtGHDBi1evFhSaen3ierUqaPY2FiPYzExMSosLPTpe6hdu7auvfZaPfPMM1q5cqV++uknpaen6+WXX9Y333wjqXSmQVJSUrlrvR3z1eLFizVw4EA1a9ZM8+fP19q1a91JPW+xn1x6u2/fPjkcDv39738v93r2799fktyvaaDib9OmjTp27Ojx0aFDh9PGerrvo6JrUlJS3I/78tz+PG9JSYn2798vSTrvvPN00UUXac6cOZJKF37z58/XNddco8TEREm/z8SYMGFCudd77Nixkn5/vf2N1Vfenm/w4MF66aWXNGrUKH300Udav369NmzYoMaNG5f7s+JNVf/8uBbGJ14r/f7n1PVzOLE0XSpdcJ98bVUF6mc0fvx4/fWvf9W1116rJUuW6IsvvtCGDRt04YUX+vSaeuPv77m31yYmJsbj60+cOFHPPvus1q1bp379+qlhw4a6/PLLPbaoBoBQcb1xtXz5ct1222369ttvA/aPfF/War/99ttpN5hwrYdOnvnXpEkT2Wy20645/Fl7VfT1bTZbuQHdFotFSUlJHl/ftR588803JUkfffSR7Ha7x9D43bt3yzAMNW3atFw869atC8u6JDc3V5deeql27typF154QatXr9aGDRvcs458uY/6cg+syrX79u0rty6Ryq9VAiEQPyN//23kq3379lW4LnE9fqLTrflcM1r79OmjqVOnqn379mrcuLHGjRsXlDm2MI8aPVOqX79+6tevX4WPHz9+XA8//LAWLFigAwcOKCMjQ08//bR7WHXdunVVt25d9/lfffWVsrOzNXPmzGCHXq0MGzZMjzzyiGbOnKknnniiwvNcg5CXLl3q9XHXOyLLly/Xrl27tGLFCvc7AJJC1ovcokUL/fnPf9bdd9+tb775Ruedd54aNmyovLy8cud6OxYbG+t1oPXevXs9ZsbMnz9faWlpWrRokcfiqKJh2CcvoBo0aCCr1apbbrlFt99+u9drXFsv+xN/IJxq97KTH3Pd4Ox2e7nF5K5du8rNRPJ1Z7QTn/dku3btUlRUlMe7n8OHD9fYsWP17bffavv27eUWfq44Jk6cqD/84Q9ev+Y555xTqVh9dfLzFRQU6D//+Y8mTZqkBx980H3cNa+sOnD9HHbv3q1mzZq5jzscjnKLnaoK1M9o/vz5Gjp0qJ588kmP43v37lX9+vUrFZu/v+e+sNlsGj9+vMaPH68DBw7o//7v//SXv/xFffr00Y4dOyJiV0oA5uF640oqrXRxOp16/fXX9fbbb5erTKoqb2u1xo0bl9s44mQNGzbUF198IcMwPP7+37NnjxwOx2nXHP6svSr6+g6HQ7/99ptHYsowDOXl5bk30JDkrmCZM2eObrvtNs2ZM0cpKSnq3bu3+5xGjRrJYrFo9erV7gTBiU4+Fux1iVQ6h+vIkSNavHixx86K1WnQdcOGDcsN4JeCsy4OxM8oWP82atiwYYXrZFfs/kpNTdWsWbMkST/88IPeeustPfroozp+/HiN+zcyfFejK6VOZ/jw4frss8/05ptv6uuvv9Yf//hH9e3bVz/++KPX819//fVTVgqZVbNmzXTfffcpMzNTt956a4XnXX311dq3b5+cTme5apuOHTu6/7Ho+sv45L+kX3nllYDGfejQIR0+fNjrY64yWNc7BT179tQ333yjr776yuO8N954o9y1LVu29NitTSr9S/nktiGLxaJatWp53Hzy8vK87r7nTZ06ddSzZ09t3rxZF1xwgdfX1PUPYX/iDzVXifL8+fM9jm/YsEHffvttueHjvjrnnHPUrFkzvfHGGzIMw338yJEjeuedd9w78rkMGjRIsbGxmjt3rubOnatmzZp5LPzOOeccnXXWWfrqq6+8vtYdO3b0KDUPBYvFIsMwyv1Zef311+V0OkMaS0Uuu+wySfJojZSkt99+u9zQfF+d/M6cS6B+RhaLpdxr+sEHH2jnzp0+xeFNsH7PXerXr68bbrhBt99+u/Lz8z12IwKAcJg6daoaNGigRx55pNItPP6s1fr166cffvihXMvRiS6//HIdPny43MiOefPmuR8/FX/WXhV9fan8veCdd97RkSNHyn394cOH64svvtCaNWu0ZMkS3XrrrR7tU1dffbUMw9DOnTu9xnL++eef8vsJBm/reMMw9Nprr4U8lop0795dW7duVXZ2tsdxV1VaZVS0JgjEz8iffxv5sza5/PLLlZ2drU2bNnkcnzdvniwWi3r27Hna5ziVs88+Ww8//LDOP//8cl8DOFGNrpQ6lW3btmnhwoX69ddf3Te7CRMmaOnSpZozZ065d9CLioq0YMECj2qFmuSpp5467Tk33XSTFixYoP79++uuu+5Sp06dFB0drV9//VWffvqprrnmGl133XXq0qWLGjRooNGjR2vSpEmKjo7WggULyiVUqur7779Xnz59dNNNN6l79+5KTk7W/v379cEHH+jVV19Vjx491KVLF0nS3XffrdmzZ+uqq67S448/7t697sQthl1uueUWDRkyRGPHjtX111+vX375RVOnTi1Xqu3aRnfs2LG64YYbtGPHDj322GNKTk6uMPF5shdeeEHdunXTpZdeqjFjxqhly5Y6dOiQfvrpJy1ZssS9MPMn/lPZunWr10RC69aty31/vjrnnHP05z//WX//+98VFRWlfv36uXcla968ue65555KPW9UVJSmTp2qm2++WVdffbVuu+02FRUV6ZlnntGBAwfK/c7Wr19f1113nebOnasDBw5owoQJ5XaleeWVV9SvXz/16dNHw4YNU7NmzZSfn69vv/1WmzZt0r/+9a9KxVpZ8fHxuuyyy/TMM8+oUaNGatmypVauXKlZs2ZVuqIn0M477zwNGjRIzz33nKxWq3r16qVvvvlGzz33nBISEiq180/r1q1Vu3ZtLViwQG3atFHdunWVkpKilJSUgPyMrr76as2dO1fnnnuuLrjgAn355Zd65plnylU4nSqOkwXj9zwzM1MZGRnq2LGjGjdurF9++UXPP/+8UlNTddZZZ/n9fAAQSA0aNNDEiRN1//3364033tCQIUP8fg5/12qLFi3SNddcowcffFCdOnXSsWPHtHLlSl199dXq2bOnhg4dqpdfflm33nqrfv75Z51//vlas2aNnnzySfXv3/+U86hcfF17eXPllVeqT58+euCBB3Tw4EF17drVvfteu3btdMstt3icP2jQII0fP16DBg1SUVFRuVlUXbt21Z///GcNHz5cGzdu1GWXXaa4uDjZ7XatWbNG559/vsaMGeP3614VV155pWrVqqVBgwbp/vvvV2FhoWbMmOEemVAduNbF/fr10+TJk9W0aVO98cYb7nVxZdYmruTS008/rX79+slqteqCCy4IyM/In38bVRRHrVq1yp17zz33aN68ebrqqqs0efJkpaam6oMPPtD06dM1ZswYr/PCTuXrr7/WHXfcoT/+8Y8666yzVKtWLS1fvlxff/11jf03MnwUrgnr1Y0k491333V//tZbbxmSjLi4OI8Pm81mDBw4sNz1b7zxhmGz2dw7TpmZtx0nvDl59z3DKN1N5NlnnzUuvPBCIzY21qhbt65x7rnnGrfddpvx448/us/7/PPPjc6dOxt16tQxGjdubIwaNcrYtGlTuZ2ubr31ViMuLq7c1z555ytv9u/fbzz++ONGr169jGbNmhm1atUy4uLijLZt2xqPP/64cfToUY/zs7OzjSuvvNKIjY01EhMTjZEjRxr//ve/y+3SUVJSYkydOtVo1aqVERsba3Ts2NFYvny51933nnrqKaNly5ZGTEyM0aZNG+O1117zGrtO2n3sRDk5OcaIESOMZs2aGdHR0Ubjxo2NLl26GI8//nil4vfmVLvvSTJee+2108Z6qt8bp9NpPP3008bZZ59tREdHG40aNTKGDBli7Nixw+M8b7u/nM57771nXHzxxUZsbKwRFxdnXH755cZnn33m9dyPP/7Y/T398MMPXs/56quvjIEDBxpNmjQxoqOjjaSkJKNXr17GzJkzffpeT+dUu+/99ttv5c7/9ddfjeuvv95o0KCBUa9ePaNv377G1q1by+2wUtHue77++VEFu++d/D16+zqFhYXG+PHjjSZNmhixsbHGJZdcYqxdu9ZISEjw2M2uIt5+pxYuXGice+65RnR0dLnYqvoz2r9/vzFy5EijSZMmRp06dYxu3boZq1ev9vpnuKI4vL2GVf09P3mXoueee87o0qWL0ahRI6NWrVpGixYtjJEjRxo///zzqV5OAAioU/19euzYMaNFixbGWWed5bFrl6/8Xavt37/fuOuuu4wWLVoY0dHRRpMmTYyrrrrK+O6779zn7Nu3zxg9erSRnJxs2Gw2IzU11Zg4caJRWFjo8VyBWHt5c+zYMeOBBx4wUlNTjejoaCM5OdkYM2aMsX//fq/nDx482JBkdO3atcLnnD17tnHxxRcbcXFxRu3atY3WrVsbQ4cONTZu3Og+pzJrqFNdm5qaalx11VVez1+yZIl7rd+sWTPjvvvuM/773/96XYd4233P2+t+8rqmot33fLl/GoZhbN261bjiiis81sX/+Mc/yu1m54233/mioiJj1KhRRuPGjQ2LxVIutqr+jHz9t9Gp4vC2Q/gvv/xiDB482GjYsKERHR1tnHPOOcYzzzzjsXO1a/e9Z555plxcJ659du/ebQwbNsw499xzjbi4OKNu3brGBRdcYPztb3+r1J9/1BwWwzihr6UGs1gsevfdd3XttddKKm01ufnmm/XNN994lMlKpbOkTh4Qffnllys+Pl7vvvtuqEJGNbBixQr17NlTn376qXvWGIDT+/zzz9W1a1ctWLCgyrtYAgAAVNWf//xnLVy4UPv27fNaWQQgOGjfq0C7du3kdDq1Z8+e086IysnJ0aeffqr3338/RNEBQORYtmyZ1q5dqw4dOqh27dr66quv9NRTT+mss86qcCA5AABAsEyePFkpKSlq1aqVDh8+rP/85z96/fXX9fDDD5OQAkKsRielDh8+rJ9++sn9eU5OjrZs2aLExESdffbZuvnmmzV06FA999xzateunfbu3avly5fr/PPPd2/7KkmzZ89WcnLyKXfyA4CaKj4+Xh9//LGef/55HTp0SI0aNVK/fv00ZcoUxcbGhjs8AABQw0RHR+uZZ57R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tm0yDENnnnmm6tSpE+7QIp6r8jya9j0AAEzB76SU0+nU3/72N7311lvKzc3V8ePHPR5nALonaxSVUgAA1CQFBQVyOp1KTEzU+eef7z6en58vm82m+Pj4MEYX2VwzOhl0DgCAOfh9R8/KytK0adM0cOBAFRQUaPz48frDH/6gqKgoPfroo0EIMbK5Bp0zUwoAgJrhpptu0ptvvlnu+FtvvaWbbropDBGZh2s3YxvtewAAmILfSakFCxbotdde04QJE2Sz2TRo0CC9/vrreuSRR7Ru3bpgxBjR3O177L4HAECN8MUXX6hnz57ljvfo0UNffPFFGCIyD4e7UoqkFAAAZuB3UiovL89dil63bl0VFBRIkq6++mp98MEHgY3OBBh0DgBAzVJUVOQecH6i4uJiHTt2LAwRmYdrRqeN3fcAADAFv+/oZ5xxhux2uyTpzDPP1McffyxJ2rBhg2JiYgIbnQm4yssZdA4AQM1w0UUX6dVXXy13fObMmerQoUMYIjIPR9mbfAw6BwDAHPwedH7dddfpk08+0cUXX6y77rpLgwYN0qxZs5Sbm6t77rknGDFGNNc7eSSlAACoGZ544gldccUV+uqrr3T55ZdLkj755BNt2LDB/WYeKqeYSikAAEzF76TUU0895f7/G264QWeccYY+//xznXnmmRowYEBAgzMDV/ueg/Y9AABqhK5du2rt2rV65pln9NZbb6l27dq64IILNGvWLJ111lnhDi+iudZTViqlAAAwBb+TUie75JJLdMkllwQiFlNi0DkAADVP27ZttWDBgnCHYTqu3Yyj2X0PAABT8DspNW/evFM+PnTo0EoHY0bWskVTcQmVUgAAmFlJSYlKSkpks/2+vNq9e7dmzpypI0eOaMCAAerWrVsYI4x8xe7d92jfAwDADPxOSt11110enxcXF+vo0aOqVauW6tSpQ1LqJK5BnE5mSgEAYGojR45UdHS0e8j5oUOHdNFFF6mwsFDJycn629/+pn//+9/q379/mCONXAw6BwDAXPx+m2n//v0eH4cPH9b333+vbt26aeHChcGIMaK5BnEW074HAICpffbZZ7rhhhvcn8+bN08Oh0M//vijvvrqK40fP17PPPNMGCOMfK5B51ba9wAAMIWA1D6fddZZeuqpp8pVUYFB5wAA1BQ7d+70GGT+ySef6Prrr1dCQoIk6dZbb9U333wTrvBMwVk2DoHd9wAAMIeA3dGtVqt27doVqKczDVvZO3kO2vcAADC12NhYHTt2zP35unXrPDaDiY2N1eHDh8MRmmm4No6hfQ8AAHPwe6bU+++/7/G5YRiy2+166aWX1LVr14AFZhY2dt8DAKBGuPDCC/XPf/5TU6ZM0erVq7V792716tXL/fi2bduUkpISxggjH4POAQAwF7+TUtdee63H5xaLRY0bN1avXr303HPPBSou04h2V0rRvgcAgJn99a9/Vf/+/fXWW2/Jbrdr2LBhSk5Odj/+7rvv8gZeFTnc7XtUSgEAYAZ+J6VKSK74xfVOHoPOAQAwt549e+rLL7/UsmXLlJSUpD/+8Y8ej7dt21adOnUKU3Tm4BqHwEwpAADMwe+kFPzjninFoHMAAEwvPT1d6enpXh/785//HOJozMe1nrIxUwoAAFPwOyk1fvx4n8+dNm2av09vOu7d9xh0DgAAUCUMOgcAwFz8Tkpt3rxZmzZtksPh0DnnnCNJ+uGHH2S1WtW+fXv3eRYLiwXp9/JyZkoBAABUTXHZm3xW2vcAADAFv5NSmZmZqlevnv7xj3+oQYMGkqT9+/dr+PDhuvTSS3XvvfcGPMhI5nonj933AAAAqsZZ9iYflVIAAJiD328zPffcc5oyZYo7ISVJDRo00OOPP87ue1643slj0DkAAEDVuNZTDDoHAMAc/L6jHzx4ULt37y53fM+ePTp06FBAgjIT1zt5Ttr3AAAwtQMHDuijjz5yf7548eIwRmNODDoHAMBc/E5KXXfddRo+fLjefvtt/frrr/r111/19ttva+TIkfrDH/4QjBgjmmv3vWIGnQMAYGqDBg3Ss88+q5tvvlmGYejZZ58Nd0im49o4xrW+AgAAkc3vmVIzZ87UhAkTNGTIEBUXF5c+ic2mkSNH6plnngl4gJHOZi0bdO6kUgoAADPLy8vT5s2bNWfOHD388MPhDseUXDM6XesrAAAQ2fy+o9epU0fTp0/Xvn373Dvx5efna/r06YqLiwtGjBHN9U4eg84BADC3Ro0aSZKGDx+uw4cP67vvvgtzRObj2s04mkopAABMwe9KKZe4uDhdcMEF+uWXX/TLL7/o3HPPVRRDJ8txV0rRvgcAgKkNHDhQxcXFio6O1rPPPiuLhcRJoBVTKQUAgKn4fEf/xz/+oeeff97j2J///Ge1atVK559/vjIyMrRjx45AxxfxXIPOHQw6BwDA1P70pz8pOjpakhQdHV1u3SRJO3fuDHFU5uJaTzFTCgAAc/A5KTVz5kwlJCS4P1+6dKnmzJmjefPmacOGDapfv76ysrKCEmQkc21ZXEz7HgAANVZeXp7uvPNOnXnmmeEOJaL9PlOKpBQAAGbgc1Lqhx9+UMeOHd2f//vf/9aAAQN08803q3379nryySf1ySefBCXISGZ1z5SiUgoAADM7cOCAbr75ZjVu3FgpKSl68cUXVVJSokceeUStWrXSunXrNHv27HCHGdF+332P9j0AAMzA55lSx44dU3x8vPvzzz//XCNGjHB/3qpVK+Xl5QU2OhNwvZG393CR1m7bp05pie5EFQAAMI+//OUvWrVqlW699VYtXbpU99xzj5YuXarCwkL997//Vffu3cMdYsRzvckXTaUUAACm4PPbTKmpqfryyy8lSXv37tU333yjbt26uR/Py8vzaO+DtHSrXfe/8z9JUm7+MQ16bZ26Pb1cS7fawxwZAAAItA8++EBz5szRs88+q/fff1+GYejss8/W8uXLSUgFiGscAm/wAQBgDj4npYYOHarbb79djz32mP74xz/q3HPPVYcOHdyPf/7558rIyPDri69atUqZmZlKSUmRxWLRe++9d8rzFy9erCuvvFKNGzdWfHy8OnfurI8++sivrxkqS7faNWb+Ju0/etzjeF5BocbM30RiCgAAk9m1a5fS09MllVaQx8bGatSoUSGPY/r06UpLS1NsbKw6dOig1atXV3huJK2tJMlZ1r4Xze57AACYgs939AceeECjRo3S4sWLFRsbq3/9618ej3/22WcaNGiQX1/8yJEjuvDCC/XSSy/5dP6qVat05ZVX6sMPP9SXX36pnj17KjMzU5s3b/br6wabs8RQ1pJseRtt7jqWtSTbvbACAACRr6SkxL37niRZrVbFxcWFNIZFixbp7rvv1kMPPaTNmzfr0ksvVb9+/ZSbm+v1/EhZW7m4d9+jfQ8AAFOwGIZRLTIjFotF7777rq699lq/rjvvvPN044036pFHHvHp/IMHDyohIUEFBQUeM7ICae22fRr02rrTnrfwT5eoc+uGQYkBAAD4p6prhKioKPXr108xMTGSpCVLlqhXr17lElOLFy8OSLzeXHzxxWrfvr1mzJjhPtamTRtde+21mjJlik/PUR3XVi4XZn2sgmPF+r/x3XVmk7pB/VoAAKDyfF0f+DzovDoqKSnRoUOHlJiYGO5QPOw5VBjQ8wAAQPV36623enw+ZMiQkH7948eP68svv9SDDz7ocbx37976/PPPfXoOX9ZWRUVFKioqcn9+8ODBygVcCa5B5zZmSgEAYAoRnZR67rnndOTIEQ0cOLDCc8KxcGpSLzag5wEAgOpvzpw5Yf36e/fuldPpVNOmTT2ON23a1Ocdkn1ZW02ZMkVZWVlVirWyHGWjD2jfAwDAHCJ2SuTChQv16KOPatGiRWrSpEmF502ZMkUJCQnuj+bNmwc9tk5piUpOiFVFyyWLpOSEWHVKq14VXgAAIPJZLJ4rEMMwyh3zxte11cSJE1VQUOD+2LFjR5Vj9pWDQecAAJhKRN7RFy1apJEjR+qtt97SFVdcccpzw7FwskZZNCmzdPedk5eArs8nZaaznTEAAAiYRo0ayWq1lquK2rNnT7nqqZP5s7aKiYlRfHy8x0coGIbh3iSG9j0AAMwh4pJSCxcu1LBhw/TGG2/oqquuOu354Vo49c1I1owh7ZWU4Nmil5QQqxlD2qtvRnJI4gAAADVDrVq11KFDBy1btszj+LJly9SlS5cKr/N3bRUuxc7f9+axRUXcEhYAAHjh90wpp9OpuXPn6pNPPtGePXtUUrY1r8vy5ct9fq7Dhw/rp59+cn+ek5OjLVu2KDExUS1atNDEiRO1c+dOzZs3T1Lpomno0KF64YUXdMkll7jfCaxdu7YSEhL8/VaCrm9Gsq5MT1Lvv63Utt+O6N4rz9bYnmdSIQUAAIJi/PjxuuWWW9SxY0d17txZr776qnJzczV69GhJiui1latKSmKmFAAAZuF3Uuquu+7S3LlzddVVVykjI8OnGQUV2bhxo3r27On+fPz48ZJKd6+ZO3eu7Ha7cnNz3Y+/8sorcjgcuv3223X77be7j7vOr46sURalNozTtt+OqEl8DAkpAAAQNDfeeKP27dunyZMny263KyMjQx9++KFSU1MlKaLXVsUnvBFKUgoAAHPwOyn15ptv6q233lL//v2r/MV79OghwzAqfPzkxdCKFSuq/DXDoUGdWpKk/CPFYY4EAACY3dixYzV27Fivj0Xy2spxQvteNO17AACYgt939Fq1aunMM88MRiymlRgXLUnaf/R4mCMBAACITA5naaWUxSJFUXkOAIAp+J2Uuvfee/XCCy+cssIJnuqXVUrtP0JSCgAAoDIcZTOlqJICAMA8/G7fW7NmjT799FP997//1Xnnnafo6GiPxxcvXhyw4MwiMa4sKUWlFAAAQKW42veYJwUAgHn4nZSqX7++rrvuumDEYlq/z5QiKQUAAFAZrkHnNlr3AAAwDb+TUnPmzAlGHKb2e6UUg84BAAAq4/dKKdr3AAAwC+7qIeAadE6lFAAAQOU4qJQCAMB0/K6UkqS3335bb731lnJzc3X8uGeiZdOmTQEJzExc7XsFx4rlcJbwDh8AAICfXJVS0ayjAAAwDb/v6i+++KKGDx+uJk2aaPPmzerUqZMaNmyo7du3q1+/fsGIMeIl1I6WpexNvQPHaOEDAADwl7tSikHnAACYht9JqenTp+vVV1/VSy+9pFq1aun+++/XsmXLNG7cOBUUFAQjxohns0YpPra0hW8/LXwAAAB+Ky6rlLLSvgcAgGn4nZTKzc1Vly5dJEm1a9fWoUOHJEm33HKLFi5cGNjoTIRh5wAAAJXnLClr34uifQ8AALPw+66elJSkffv2SZJSU1O1bt06SVJOTo4MwwhsdCbSoA7DzgEAACqr2En7HgAAZuN3UqpXr15asmSJJGnkyJG65557dOWVV+rGG2/UddddF/AAzeL3SimSUgAAAP5yDTpnwxgAAMzD7933Xn31VZWUDZocPXq0EhMTtWbNGmVmZmr06NEBD9AsXDvwUSkFAADgP/egc2ZKAQBgGn4npaKiohR1Qi//wIEDNXDgwIAGZUbuSimSUgAAAH5zlM2UIikFAIB5VKr+efXq1RoyZIg6d+6snTt3SpL++c9/as2aNQENzkwalCWl8mnfAwAA8JurfS+a9j0AAEzD77v6O++8oz59+qh27dravHmzioqKJEmHDh3Sk08+GfAAzSKxDpVSAAAAlcWgcwAAzMfvpNTjjz+umTNn6rXXXlN0dLT7eJcuXbRp06aABmcm9ct239t/tDjMkQAAAEQe2vcAADAfv5NS33//vS677LJyx+Pj43XgwIFAxGRK7L4HAABQeb8npWjfAwDALPy+qycnJ+unn34qd3zNmjVq1apVQIIyI/dMKdr3AAAA/OagfQ8AANPxOyl122236a677tIXX3whi8WiXbt2acGCBZowYYLGjh0bjBhNwTVT6lChwz0TAQAAAL5h0DkAAOZj8/eC+++/XwUFBerZs6cKCwt12WWXKSYmRhMmTNAdd9wRjBhNIb52tKIsUolR2sLXpF5suEMCAACIGK72PSszpQAAMA2/k1KS9MQTT+ihhx5Sdna2SkpKlJ6errp16wY6NlOxRllUv04t5R85rv1HiklKAQAA+MHVvhdN+x4AAKZRqaSUJNWpU0cdO3YMZCym16BOtPKPHGeuFAAAgJ+KGXQOAIDp+JyUGjFihE/nzZ49u9LBmF2DOrUkHdEBduADAADwC4POAQAwH5+TUnPnzlVqaqratWsnwzCCGZNpuXfgIykFAADgF6e7UoqkFAAAZuFzUmr06NF68803tX37do0YMUJDhgxRYmJiMGMzHdcOfPtp3wMAAPBLcdnuezZ23wMAwDR8vqtPnz5ddrtdDzzwgJYsWaLmzZtr4MCB+uijj6ic8pG7UupIcZgjAQAAiCyOkrJB51RKAQBgGn691RQTE6NBgwZp2bJlys7O1nnnnaexY8cqNTVVhw8fDlaMppEYFy1J2k/7HgAAgF+olAIAwHwqfVe3WCyyWCwyDEMlZe9c4dQa1HFVSpGUAgAA8IezbL1ppVIKAADT8CspVVRUpIULF+rKK6/UOeeco//973966aWXlJubq7p16wYrRtNILGvfo1IKAADAP46ySqlodt8DAMA0fB50PnbsWL355ptq0aKFhg8frjfffFMNGzYMZmym8/tMKZJSAAAA/ih2775H+x4AAGbhc1Jq5syZatGihdLS0rRy5UqtXLnS63mLFy8OWHBm42rfO3CUQecAAAD+cDjLBp1TKQUAgGn4nJQaOnSoLBYWAVWRWJaUOlzkUJHDqRibNcwRAQAARAZHWaWUlUopAABMw+ek1Ny5c4MYRs1QL9Yma5RFzhJDB44Wq2k8SSkAAABfuCqlbFRKAQBgGrzVFEJRURY1qBMtiblSAAAA/nBVStG+BwCAeZCUCjHXXKn9JKUAAAB8VuyqlKJ9DwAA0+CuHmLuHfiOkpQCAADwldO9+x6VUgAAmAVJqRBLpFIKAADAb8XOsqSUleUrAABmwV09xBrElc6U2n+0OMyRAAAARA5HCYPOAQAwG5JSIeaaKcWgcwAAAN85yiqlopkpBQCAaXBXD7HEsplS+5kpBQAA4DPX7ntWZkoBAGAaJKVCjEopAAAA/znKdt+Lpn0PAADTICkVYlRKAQAA+I9B5wAAmA939RBr4EpKHWHQOQAAgK/cg85p3wMAwDRISoVYIu17AAAAfnOWuCqlSEoBAGAWJKVCrH5ctCTpWLFThcXOMEcDAAAQGdzte+y+BwCAaXBXD7F6MTZ32TlzpQAAAHzDoHMAAMyHpFSIWSwW91wpWvgAAAB8U1zCoHMAAMyGu3oYNKhd2sL3wdd2rd22zz0jAQAAAN65Z0ox6BwAANMgKRViS7fa9fO+I5Kk6Su2adBr69Tt6eVautUe5sgAAACqJ8MwSEoBAGBCJKVCaOlWu8bM36TjTs/KqLyCQo2Zv4nEFAAAgBfFJ6ydaN8DAMA8wnpXX7VqlTIzM5WSkiKLxaL33nvvtNesXLlSHTp0UGxsrFq1aqWZM2cGP9AAcJYYylqSLW+Neq5jWUuyaeUDAAA4iaOkxP3/DDoHAMA8wpqUOnLkiC688EK99NJLPp2fk5Oj/v3769JLL9XmzZv1l7/8RePGjdM777wT5Eirbn1OvuwFhRU+bkiyFxRqfU5+6IICAACIAI4T3rSz0r4HAIBp2ML5xfv166d+/fr5fP7MmTPVokULPf/885KkNm3aaOPGjXr22Wd1/fXXBynKwNhzqOKEVGXOAwAAqCkcJ7TvRUfRvgcAgFlE1F197dq16t27t8exPn36aOPGjSouLg5TVL5pUi82oOcBAADUFA5naftelEWKolIKAADTiKikVF5enpo2bepxrGnTpnI4HNq7d6/Xa4qKinTw4EGPj3DolJao5IRYVbSMskhKTohVp7TEUIYFAABQ7RW7dt5jyDkAAKYScXd2i8UzrWMYhtfjLlOmTFFCQoL7o3nz5kGP0RtrlEWTMtO9PuaKfFJmOnMSAAAATuIsa9+zsU4CAMBUIioplZSUpLy8PI9je/bskc1mU8OGDb1eM3HiRBUUFLg/duzYEYpQveqbkawZQ9orKd6zRS8pIVYzhrRX34zkMEUGAABQfRWX7b5HUgoAAHMJ66Bzf3Xu3FlLlizxOPbxxx+rY8eOio6O9npNTEyMYmJiQhGeT/pmJOvK9CRd/MT/ae+R48oacJ6GXJJKhRQAAEAFXIPOo2nfAwDAVMJ6Zz98+LC2bNmiLVu2SJJycnK0ZcsW5ebmSiqtcho6dKj7/NGjR+uXX37R+PHj9e2332r27NmaNWuWJkyYEI7wK80aZVHLRnGSpEZ1Y0hIAQAAnEJx2aBzm5U1EwAAZhLWpNTGjRvVrl07tWvXTpI0fvx4tWvXTo888ogkyW63uxNUkpSWlqYPP/xQK1asUNu2bfXYY4/pxRdf1PXXXx+W+KsiuX5tSZK94FiYIwEAAKjenK5B51FUSgEAYCZhbd/r0aOHe1C5N3Pnzi13rHv37tq0aVMQowqNlITSuVK7DhSGORIAAIDqzVFCpRQAAGbE201hklSWlKJSCgAA4NSK2X0PAABTIikVJskJrvY9KqUAAABOhUHnAACYE3f2MEmpT6UUAACAL1zte2wOAwCAuZCUChNXpdSeQ0XuHWUAAABQnqtSykalFAAApsKdPUwaxtVStNUiw5B2H6SFDwAAoCKuSqloKqUAADAVklJhEhVlcQ87z2OuFAAAQIXcg87ZfQ8AAFMhKRVGrha+XSSlAAAAKuQsce2+x9IVAAAz4c4eRilllVL2Aww7BwAAqIhr/iaVUgAAmAtJqTBKKquUslMpBQAAUCEHlVIAAJgSd/YwSqlfVilVQKUUAABARRxllVLRVEoBAGAqJKXCKJlKKQAAgNNyVUpZ2X0PAABTISkVRsllM6V2HSApBQAAUBFH2e570VaWrgAAmAl39jByJaX2Hi5SkcMZ5mgAAACqp+KSskHnVEoBAGAqJKXCKDGulmJspT+CPQeLwhwNAABA9eSqlLJRKQUAgKlwZw8ji8VyQgsfw84BAAC8+X33PSqlAAAwE5JSYcawcwAAgFNz7b5nY/c9AABMhaRUmLkrpQqolAIAAPDGVSnFoHMAAMyFO3uYJdcvTUrlUSkFAADgVbGTQecAAJgRSakwc7Xv7TpAUgoAAMAbJzOlAAAwJZJSYZZSVillp30PAADAq2J23wMAwJS4s4dZUjyDzgEAAE6FQecAAJgTSakwc1VK5R85rsJiZ5ijAQAAqH7cg86jWLoCAGAm3NnDLKF2tGpHWyUx7BwAAMAbV1LKykwpAABMhaRUmFksFvcOfLuYKwUAAFCOq30vmvY9AABMhaRUNZCcUDbsnB34AAAAymHQOQAA5sSdvRpITigddp53kKQUAADAyRwlZYPOad8DAMBUSEpVAylllVK7DtC+BwAAcDJniatSiqQUAABmQlKqGkiuX1opZWfQOQAAQDnFTlelFEtXAADMhDt7NZBEpRQAAECFHGUzpRh0DgCAuZCUqgaa1itNSuXmH9XabfvcJeoAAACQil3te1RKAQBgKtzZw2zpVruGz10vSTp63KlBr61Tt6eXa+lWe5gjAwAAqB6cZYPOrVRKAQBgKiSlwmjpVrvGzN+k3QeLPI7nFRRqzPxNJKYAAAB0QvselVIAAJgKd/YwcZYYylqSLW+Neq5jWUuyaeUDAAA1nnvQOZVSAACYCkmpMFmfk3/K3fYMle7Gtz4nP3RBAQAAVEOOEgadAwBgRiSlwmTPoYoTUpU5DwAAwKxc7XtW2vcAADAV7uxh0qRsx71AnQcAACBJ06dPV1pammJjY9WhQwetXr36lOevXLlSHTp0UGxsrFq1aqWZM2eGKFLfOcoGnduiqJQCAMBMSEqFSae0RCUnxKqipZVFUnJCrDqlJYYyLAAAEMEWLVqku+++Ww899JA2b96sSy+9VP369VNubq7X83NyctS/f39deuml2rx5s/7yl79o3Lhxeuedd0Ic+am5B51bWboCAGAm3NnDxBpl0aTMdEmqMDE1KTNdVt4RBAAAPpo2bZpGjhypUaNGqU2bNnr++efVvHlzzZgxw+v5M2fOVIsWLfT888+rTZs2GjVqlEaMGKFnn302xJGfGoPOAQAwJ5JSYdQ3I1kzhrRXUkL5Fr2/9G+jvhnJYYgKAABEouPHj+vLL79U7969PY737t1bn3/+uddr1q5dW+78Pn36aOPGjSouLvZ6TVFRkQ4ePOjxEWyu3Yhp3wMAwFxs4Q6gpuubkawr05O0Pidfew4VasG6X7T+5/3KO8iAcwAA4Lu9e/fK6XSqadOmHsebNm2qvLw8r9fk5eV5Pd/hcGjv3r1KTi7/BtmUKVOUlZUVuMB9UOxKStG+BwCAqXBnrwasURZ1bt1Q17Rtptu6t5Ykvbd5p7tUHQAAwFcWi2c1kWEY5Y6d7nxvx10mTpyogoIC98eOHTuqGPHpOcrWRNFUSgEAYCpUSlUzl53dWI3qxmjv4SKt/P43XZHe9PQXAQCAGq9Ro0ayWq3lqqL27NlTrhrKJSkpyev5NptNDRs29HpNTEyMYmJiAhO0D0pKDJUVSlEpBQCAyXBnr2airVG6rl2KJOmVVdv07y07tXbbPvcsBQAAAG9q1aqlDh06aNmyZR7Hly1bpi5duni9pnPnzuXO//jjj9WxY0dFR0cHLVZ/OE5YA7EBDAAA5kKlVDXUtGzw+Yaf92vDz/slSckJsZqUmc7wcwAAUKHx48frlltuUceOHdW5c2e9+uqrys3N1ejRoyWVtt7t3LlT8+bNkySNHj1aL730ksaPH68//elPWrt2rWbNmqWFCxeG89vw4Cj5fZxBNLvvAQBgKiSlqpmlW+164j/fljueV1CoMfM3acaQ9iSmAACAVzfeeKP27dunyZMny263KyMjQx9++KFSU1MlSXa7Xbm5ue7z09LS9OGHH+qee+7Ryy+/rJSUFL344ou6/vrrw/UtlFPs/L1SyhZFkT8AAGZiMVzTLGuIgwcPKiEhQQUFBYqPjw93OB6cJYa6Pb1c9gLvO+9ZJCUlxGrNA70oXwcAIMCq8xqhOgv267bvcJE6PP5/kqTtT/ZXFGsgAACqPV/XB7zdVI2sz8mvMCElSYYke0Gh1ufkhy4oAACAMHLN1YyyiIQUAAAmQ1KqGtlzqOKEVGXOAwAAiHTFZUkpdt4DAMB8uLtXI03qxQb0PAAAgEjncJYOOo+mSgoAANMhKVWNdEpLVHJCrCpacllUugtfp7TEUIYFAAAQNq5B58zTBADAfEhKVSPWKIsmZaZLUoWJqUmZ6SzKAABAjeGaKRVN+x4AAKYT9rv79OnTlZaWptjYWHXo0EGrV68+5fkLFizQhRdeqDp16ig5OVnDhw/Xvn37QhRt8PXNSNaMIe2VlFC+Re+ZGy5Q34zkMEQFAAAQHsVl7Xs2K2/KAQBgNmFNSi1atEh33323HnroIW3evFmXXnqp+vXrp9zcXK/nr1mzRkOHDtXIkSP1zTff6F//+pc2bNigUaNGhTjy4Oqbkaw1D/TSwj9dohduaquWDetIko4cd4Y5MgAAgNByuAadR4X9vVQAABBgYb27T5s2TSNHjtSoUaPUpk0bPf/882revLlmzJjh9fx169apZcuWGjdunNLS0tStWzfddttt2rhxY4gjDz5rlEWdWzfUNW2b6dYuLSVJ72z6NbxBAQAAhJiDSikAAEwrbEmp48eP68svv1Tv3r09jvfu3Vuff/6512u6dOmiX3/9VR9++KEMw9Du3bv19ttv66qrrgpFyGEz4MIU2aIs+vrXAn2fdyjc4QAAAITM75VSJKUAADCbsCWl9u7dK6fTqaZNm3ocb9q0qfLy8rxe06VLFy1YsEA33nijatWqpaSkJNWvX19///vfK/w6RUVFOnjwoMdHpGlYN0a9zm0iSfr78h/17y07tXbbPvfgTwAAALNyOBl0DgCAWYX97m6xeL7rZRhGuWMu2dnZGjdunB555BF9+eWXWrp0qXJycjR69OgKn3/KlClKSEhwfzRv3jyg8YdKq8ZxkqT/fG3XXW9u0aDX1qnb08u1dKs9zJEBAAAET3EJ7XsAAJhV2JJSjRo1ktVqLVcVtWfPnnLVUy5TpkxR165ddd999+mCCy5Qnz59NH36dM2ePVt2u/fkzMSJE1VQUOD+2LFjR8C/l2BbutWuV1ZuL3c8r6BQY+ZvIjEFAABMy1UpZWXQOQAAphO2u3utWrXUoUMHLVu2zOP4smXL1KVLF6/XHD16VFEnLUisVquk0gorb2JiYhQfH+/xEUmcJYaylmTL23fnOpa1JJtWPgAAYErOskqpaGZKAQBgOmF9y2n8+PF6/fXXNXv2bH377be65557lJub627HmzhxooYOHeo+PzMzU4sXL9aMGTO0fft2ffbZZxo3bpw6deqklJSUcH0bQbU+J1/2gsIKHzck2QsKtT4nP3RBAQAAhEhxWaUU7XsAAJiPLZxf/MYbb9S+ffs0efJk2e12ZWRk6MMPP1RqaqokyW63Kzc3133+sGHDdOjQIb300ku69957Vb9+ffXq1UtPP/10uL6FoNtzqOKEVGXOAwAAiCQOV6UUg84BADCdsCalJGns2LEaO3as18fmzp1b7tidd96pO++8M8hRVR9N6sUG9DwAAIBI8vtMKSqlAAAwG95yquY6pSUqOSFWFS3DLJKSE2LVKS0xlGEBAACEhKNsbqaNQecAAJgOd/dqzhpl0aTMdEmqMDE1KTOddw8BAIApOZyu9j3WOgAAmA1JqQjQNyNZM4a0V1JC+Ra9IZ1T1TcjOQxRAQAABN/vg85ZtgIAYDZhnykF3/TNSNaV6Ulan5OvPYcK9cX2fXpj/Q59/tNeff7TXv12uEhN6pW28VE1BQAAzMLpbt9jfQMAgNmQlIog1iiLOrduKEnqeW4TLd60U9t+O6LBr3/hPic5IVaTMtOpngIAAKZQXLb7HkkpAADMhzroCPX5T3tV6CgpdzyvoFBj5m/S0q32MEQFAAAQWA7a9wAAMC3u7hHIWWIoa0m218eMsv9mLcl2l7sDAABEKgadAwBgXiSlItD6nHzZCworfNyQZC8o1Pqc/NAFBQAAEASOsjfZmJkJAID5kJSKQHsOVZyQqsx5AAAA1ZUrKRVN+x4AAKbD3T0CNakXG9DzAAAAqqtiJ4POAQAwK5JSEahTWqKSE2JV0dLMotJd+DqlJYYyLAAAgIBj0DkAAObF3T0CWaMsmpSZLkleE1OGpP4ZSVqfk8+wcwAAENFc7XtUSgEAYD4kpSJU34xkzRjSXkkJ3lv0Zn32swa9tk7dnl6upVvtIY4OAAAgMFy779nYfQ8AANMhKRXB+mYka80DvbTwT5doRNeWXs/JKyjUmPmbSEwBAICI5B50HsWyFQAAs+HuHuGsURZ1SkvUf7fmeX3c1byXtSSbVj4AABBxiqmUAgDAtEhKmcD6nHzZCworfNyQZC8o1Pqc/NAFBQAAEABOZkoBAGBaJKVMYM+hihNSlTkPAACguihm9z0AAEyLu7sJNKnnfdh5Zc8DAACoLhwlZe17VEoBAGA6JKVMoFNaopITYnWqpVpiXLTyDhZq7bZ9zJYCAAARw1FWKRVNpRQAAKbD3d0ErFEWTcpMl6QKE1P5R4p1z6ItGvTaOnV7ejm78QEAgIjgqpSyUikFAIDpkJQyib4ZyZoxpL2SEk7fopdXUKgx8zeRmAIAANXe75VSJKUAADAbW7gDQOD0zUjWlelJWp+Tr7yCY3rsg2+Vf+R4ufMMlVZUZS3J1pXpSbzzCAAAqq1i9+57vJcKAIDZcHc3GWuURZ1bN1RSQm2vCSkXQ5K9oFB/W/YDc6YAAEC15XCWDTqnUgoAANMhKWVSew4V+nTeS5/+xJwpAABQbTmplAIAwLS4u5tUk3qnny11IuZMAQCA6qiYSikAAEyLpJRJdUpLVHJCbIW78Z3M1byXtSSbVj4AAFBtOEoYdA4AgFmRlDIpa5RFkzLTJcmvxJS9oFDrc/KDFhcAAIA/XLvv0b4HAID5cHc3sb4ZyZoxpL2SEvxr5fN1HhUAAECwOUpK2/fYLRgAAPOxhTsABFffjGRdmZ6k9Tn5+uyn3/TSp9tOe82Puw9r7bZ96pSWyAIQAACElatSKtrKe6kAAJgNd/cawBplUefWDXXPlef4NGeKHfkAAEB1waBzAADMi6RUDeLvnCl25AMAAOHmHnTOTCkAAEyHu3sN48+cKXbkAwAA4eZKSlmplAIAwHSYKVUD+TNn6sQd+Tq3bhi6IAEAACQ5ytr3oplzCQCA6ZCUqqFcc6Z83Wnvv2UtfAw/BwAAoVJSYshVrG1j0DkAAKZDUqqGa1Lv9G18kjRv7S+at/YXJSfEalJmuvpmJAc5MgAAUNMVl5S4/59B5wAAmA9vOdVwndISfdqRz4Xh5wAAIFROnGlpo1IbAADTISlVw/m7I59R9vHgO//TZz/tZQA6AAAImmLniUkplq0AAJgNd3f4tSOfy4Fjxbr59S/U7enlVE0BAICgcA05l6Ro2vcAADAdZkpBkueOfP/date8tb/4dF1eQaFGz9+ke644Sy0bxalJvViGoQMAgIBwlFVkW6MsslhYWwAAYDYkpeDm2pFPks9JKVdR/d/+70f3MYahAwCAQDgxKQUAAMyH9j2U4+/w85MxDB0AAASCq30vmqQUAACmRFIK5fg7/PxkrmHof3n3f3p3806t3baPgegAAMBvrkHnNitLVgAAzIg7PLyqzPDzk+UfKdY9i7Zo0GvrGIgOAAD85igpq5RiyDkAAKbETClUyDX8fN22fbr9jU06cKy40s/FQHQAAOAvh5OZUgAAmBlJKZySNcqirmc10lPXn68x8zdJ+n24uT8YiA4AAPzlGnRui6K4HwAAM+IOD58Eop3vZPay6qnHlnzD3CkAAFCOe9A57XsAAJgSlVLwmaudb31OvvYcKtTPe4/q+f/7QVLlqqdcZn32s2Z99jOVUwAAwAODzgEAMDeSUvCLNcqizq0buj8/J6muspZky15QWOXnZu4UAAA4kdPdvsdaAAAAMyIphSo5sXoqr+CYHvvgW+0/cjygc6f+elUbNYiL0Z5DhSSqAACoQYrLdt+z0b4HAIApkZRClZ1YPVW7llVj5m+SRVVr6XOxFxRq7BubPY6RqAIAoGZw7b7HoHMAAMyJpBQCyjUQPVAtfd6QqAIAoGZg0DkAAOYW9qTU9OnT9cwzz8hut+u8887T888/r0svvbTC84uKijR58mTNnz9feXl5OuOMM/TQQw9pxIgRIYwapxKsgein4i1RlRQfo0GdWnjMp5LkjovEFQAA1ZujbKYU92oAAMwprEmpRYsW6e6779b06dPVtWtXvfLKK+rXr5+ys7PVokULr9cMHDhQu3fv1qxZs3TmmWdqz549cjgcIY4cpxPMgei+yjtY5DGfqn6daEnSgaPF7mNUWAEAUH05SlyVUrTvAQBgRmFNSk2bNk0jR47UqFGjJEnPP/+8PvroI82YMUNTpkwpd/7SpUu1cuVKbd++XYmJpVUvLVu2DGXIqKQTq6eWZedp9mc/B2zulK9OTEa50AoIAED1Vexk9z0AAMwsbEmp48eP68svv9SDDz7ocbx37976/PPPvV7z/vvvq2PHjpo6dar++c9/Ki4uTgMGDNBjjz2m2rVrhyJsVIGreqpz64bqlJYY8sopX1WlFdDXYyS4AAA4PfegcyqlAAAwpbAlpfbu3Sun06mmTZt6HG/atKny8vK8XrN9+3atWbNGsbGxevfdd7V3716NHTtW+fn5mj17ttdrioqKVFRU5P784MGDgfsmUGnhmDtVFb60Avp6jEosAAB84yxr36NSCgAAcwr7oHOLxXORYRhGuWMuJSUlslgsWrBggRISEiSVtgDecMMNevnll71WS02ZMkVZWVmBDxxVVh3mTlWWt1ZAX48xlB0AAN8UUykFAICphS0p1ahRI1mt1nJVUXv27ClXPeWSnJysZs2auRNSktSmTRsZhqFff/1VZ511VrlrJk6cqPHjx7s/P3jwoJo3bx6g7wKBdHL1VJN6sdp/5Lge+yAyElVVwVB2AADKcw86514HAIAphS0pVatWLXXo0EHLli3Tdddd5z6+bNkyXXPNNV6v6dq1q/71r3/p8OHDqlu3riTphx9+UFRUlM444wyv18TExCgmJibw3wCC4uTqKUnqk1HzElVVGcreIbWBvvxlP4krAEDE+71SivsYAABmFNb2vfHjx+uWW25Rx44d1blzZ7366qvKzc3V6NGjJZVWOe3cuVPz5s2TJA0ePFiPPfaYhg8frqysLO3du1f33XefRowYwaBzEyNRVTFviaooi1RywmCuiiqspMoNaveW9PJ2nbdEmLPECNhzAQDMz1l2Q7NG0b4HAIAZhTUpdeONN2rfvn2aPHmy7Ha7MjIy9OGHHyo1NVWSZLfblZub6z6/bt26WrZsme6880517NhRDRs21MCBA/X444+H61tAmJwuUfXz3qNauD5XeQd/T1J5a4kzo5KTJsV7S1xVZVD7yUkvX1sNvSUOK/tc7HQIADWDw1nWvkelFAAApmQxDKM6bnYWNAcPHlRCQoIKCgoUHx8f7nAQRCdX5XhLWtTUCqtI52sCzdcB8r4c87WqKxzPf3LizZfffRJ2QHmsESonmK/b00u/04wV2zSia5oeyUwP6HMDAIDg8XV9EPbd94Bg8VZNJYlWQBPwdadDXwbIB7JCLBzPf3Ilma9VglWpQAtkgi6Skn0AQo9KKQAAzI2kFGq8QLUC+noM4eNrMsvbsZPbIqvyXIF8fm/tmZW9LhwJukhJ9oUigUYiDCjP4Z4pxZ8NAADMiKQU4MXJiao7ep0ZsH94UomF6iocCbpISvYFO4EWyHbTQLd1+rJJAUkDBIPDvfseg84BADAjklKAD3xtBfT1GEPZgcgT7ARaINtNT05weUuGB3KTgnC1g5IIMzdniaGdB45KkvIOHJOzxOBnDgCAyTDoHKgGGMoOwGxC0WI5KTNdfTOSAxYza4TKCcbrtnSrXVlLPO95wfiZAwCA4PB1fUBSCoggJyevfKlgAAAzctXLzBjSPmBJCtYIlRPo123pVrvGzN+kk29lwfiZAwCA4GD3PcCETjeU3VsrjK9tO4GsavBVIJ8LQM1iqDRJkbUkW1emJ9HWZRLOEkNZS7LLJaQkfuYAAJgRSSkgwnlLVJ0ucVWVAcq+zH/xlgir7G5mVUmqATA3Q6VD6dfn5Hud54fIsz4n/5Rt6vzMAQAwF5JSQA0Q6EHt/g5zP9VQ4so+l3TqBJqvA+SDPfcm2M/vCxJ2MLs9h5i1Zxa+/iz5mQMAYA4kpQAERUWJsEA+1+mO3dHrzJBWiIXj+b1Vkp2881qgK9ACmaCL5GQfqo8m9WLDHQICxNefJT9zAADMgUHnABDhvO3e6MusFV92fQx2gi6Skn3BTqDBfxZJSQmxWvNAr4DMF2KNUDmBfN2cJYa6Pb1ceQWFXudKBfpnDgAAgoPd9yrAghMA4IuTk3bBTKAFut3UF4HcpCAc2H2v+gjW7nuSPBJT7L4HAEDkIClVARacAIDqqLKVa74kuLxtNBDITQrC0Q6anBCrSZnpAU1OsEaonGC8bku32pW1pPzvYqB/5gAAIDhISlWABScAwOwq29JZlWvD0Q4a6PYt1giVE6zXrSq/xwAAILxISlWABScAAPCGNULl8LoBAICT+bo+iAphTAAAAAAAAIAkklIAAAAAAAAIA5JSAAAAAAAACDmSUgAAACawf/9+3XLLLUpISFBCQoJuueUWHThwoMLzi4uL9cADD+j8889XXFycUlJSNHToUO3atSt0QQMAgBqNpBQAAIAJDB48WFu2bNHSpUu1dOlSbdmy5f/bu/egqM77j+OfFRQUZFUIIKKoM4lQNeAlRNSKSQ1kolEnbY3WGBlbU1qJWKlVYxyoqQKd1modTVuakkzVajtqajstlcR7vFBBookKRlHxQjSJBTpGuezz+yM/t9ngBZHdA/J+zeyM5znPnn3OdxU/893DHk2bNu22869du6aioiItXrxYRUVF2rx5s0pLSzV+/HgPrhoAALRl3lYvAAAAAPfn+PHjysvL04EDB/T4449LknJychQXF6eSkhL169evwXPsdrvy8/NdxlatWqXY2FidO3dOvXr18sjaAQBA28WVUgAAAK3c/v37ZbfbnQ0pSRo2bJjsdrv27dvX6ONUVlbKZrOpS5cublglAACAK66UAgAAaOUqKioUHBzcYDw4OFgVFRWNOsb169e1YMECfec731FAQMBt5924cUM3btxwbldVVd37ggEAAMSVUgAAAC1WRkaGbDbbHR+HDh2SJNlstgbPN8bccvyramtrNXnyZDkcDq1Zs+aOczMzM51fpm6329WzZ8+mnRwAAGjzuFIKAACghUpJSdHkyZPvOKd37946cuSIPv744wb7rly5opCQkDs+v7a2VpMmTVJZWZm2b99+x6ukJGnhwoWaO3euc7uqqorGFAAAaBKaUgAAAC1UUFCQgoKC7jovLi5OlZWVKigoUGxsrCTp4MGDqqys1PDhw2/7vJsNqZMnT2rHjh0KDAy862v5+PjIx8en8ScBAABwG/z6HgAAQCsXFRWlp59+WjNnztSBAwd04MABzZw5U+PGjXO5815kZKS2bNkiSaqrq9O3vvUtHTp0SOvWrVN9fb0qKipUUVGhmpoaq04FAAC0ITSlAAAAHgDr1q3TwIEDlZCQoISEBD366KP64x//6DKnpKRElZWVkqTz589r69atOn/+vGJiYtS9e3fn417u2AcAANBU/PoeAADAA6Bbt25au3btHecYY5x/7t27t8s2AACAp3GlFAAAAAAAADyuzV0pdfMTwaqqKotXAgAAWpKb2YCrh+4N2QoAAHxVY3NVm2tKVVdXSxK3LgYAALdUXV0tu91u9TJaDbIVAAC4nbvlKptpYx8HOhwOXbx4UZ07d5bNZruvY1VVValnz54qLy9XQEBAM60QjUX9rUPtrUX9rUPtreXu+htjVF1drbCwMLVrxzccNBbZ6sFA7a1F/a1D7a1F/a3TUnJVm7tSql27dgoPD2/W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QIDCwsK0d+9e52tJ0r59+xQbG3t/J3AHISEh6tGjh06fPq2pU6fecs7gwYO1ceNGBQcHKyAg4LbHGjRokAYNGqSFCxcqLi5O69evJzgBANCCka2aH9kKaD34onMA92TgwIGaOnWqVq1a5TI+evRoXblyRT//+c916tQprV69Wv/85z+b7XVXr16tLVu26MSJE5o1a5auXr2qGTNmSJJmzZqlzz77TFOmTFFBQYFOnz6tbdu2acaMGaqvr7+n15k3b56ys7O1ceNGlZSUaMGCBSouLlZqamqzncutZGRkKDMzUytXrlRpaamOHj2q3NxcLV++XJI0depUBQUFacKECdqzZ4/Kysq0a9cupaam6vz58yorK9PChQu1f/9+nT17Vtu2bVNpaamioqLcum4AAHB/yFbuQbYCWgeaUgDu2WuvvdbgcvKoqCitWbNGq1evVnR0tAoKCpp895RbycrKUnZ2tqKjo7Vnzx799a9/VVBQkCQpLCxM7733nurr65WYmKgBAwYoNTVVdrvd5TsWGmP27NlKS0tTWlqaBg4cqLy8PG3dulUPP/xws53LrXzve9/T73//e7355psaOHCg4uPj9eabb6pPnz6SpE6dOmn37t3q1auXnnvuOUVFRWnGjBn6/PPPFRAQoE6dOunEiRP65je/qUceeUQvvfSSUlJS9P3vf9+t6wYAAPePbNX8yFZA62AzX/3pBwAAAAAAALgZV0oBAAAAAADA42hKAQAAAAAAwONoSgEAAAAAAMDjaEoBAAAAAADA42hKAQAAAAAAwONoSgEAAAAAAMDjaEoBAAAAAADA42hKAQAAAAAAwONoSgEAAAAAAMDjaEoBAAAAAADA42hKAQAAAAAAwONoSgEAAAAAAMDj/g/6UA/deUo8TQAAAABJRU5ErkJggg=="
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "execution_count": 4
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-07-27T14:11:59.990292Z",
     "start_time": "2024-07-27T14:11:59.900621Z"
    }
   },
   "cell_type": "code",
   "source": "len(train_data)",
   "id": "f5705759dce5d20a",
   "outputs": [
    {
     "data": {
      "text/plain": [
       "1136507"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "execution_count": 5
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 2
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython2",
   "version": "2.7.6"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
